home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / Open Transport⁄PPP SDK / OpenTptPPP.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-02-10  |  6.0 KB  |  223 lines  |  [TEXT/R*ch]

  1. /*
  2.     File:        OpenTptPPP.h
  3.  
  4.     Contains:    XTI-based PPP application programmer's interface. 
  5.  
  6.     Copyright:    © 1996 by Apple Computer, Inc., all rights reserved.
  7.  
  8. */
  9.  
  10.  
  11. #ifndef __OPENTPTPPP__
  12. #define __OPENTPTPPP__
  13.  
  14. #ifndef REZ
  15.  
  16.     #ifndef __OPENTPTINTERNET__
  17.     #include <OpenTptInternet.h>
  18.     #endif
  19.     
  20. #endif
  21.  
  22.  
  23. /*******************************************************************************
  24. *    Constants
  25. ********************************************************************************/
  26.  
  27. //
  28. // OTCreateConfiguration name for PPP control endpoint
  29. //
  30.  
  31. #define kPPPControlName        "ppp"    
  32.     
  33.  
  34. //
  35. // XTI Level
  36. //
  37.  
  38. #define COM_PPP                'PPPC'
  39.  
  40.  
  41. //
  42. // Options limits
  43. //
  44.  
  45. #define kPPPMaxIDLength                        255
  46. #define kPPPMaxPasswordLength                255
  47. #define kPPPMaxDTEAddressLength                127
  48. #define kPPPMaxCallInfoLength                255
  49.  
  50.  
  51. //
  52. // Various XTI option value constants
  53. //
  54.  
  55. #define kPPPStateInitial                    1
  56. #define kPPPStateClosed                        2
  57. #define kPPPStateClosing                    3
  58. #define kPPPStateOpening                    4
  59. #define kPPPStateOpened                        5
  60.  
  61. #define kPPPConnectionStatusIdle            1
  62. #define kPPPConnectionStatusConnecting        2
  63. #define kPPPConnectionStatusConnected        3
  64. #define kPPPConnectionStatusDisconnecting    4
  65.  
  66. #define kPPPMinMRU                            0
  67. #define kPPPMaxMRU                            4500
  68.  
  69. #define kIPCPTCPHdrCompressionDisabled        0
  70. #define kIPCPTCPHdrCompressionEnabled        1
  71.  
  72. #define kPPPCompressionDisabled                0x00000000
  73. #define kPPPProtoCompression                0x00000001
  74. #define kPPPAddrCompression                    0x00000002
  75.  
  76. #define kPPPNoOutAuthentication                0
  77. #define kPPPCHAPOrPAPOutAuthentication        1 
  78.  
  79. #define kCCReminderTimerDisabled            0
  80. #define kCCIPIdleTimerDisabled                0
  81.  
  82. #define kPPPScriptTypeModem                    1
  83. #define kPPPScriptTypeConnect                2
  84. #define kPPPMaxScriptSize                    32000
  85.  
  86. #define kE164Address                        1
  87. #define kPhoneAddress                        1
  88. #define kCompoundPhoneAddress                2
  89. #define kX121Address                        3
  90.  
  91. #define kPPPConnectionStatusDialogsFlag        0x00000001
  92. #define kPPPConnectionRemindersFlag            0x00000002
  93. #define kPPPConnectionFlashingIconFlag        0x00000004
  94. #define kPPPOutPasswordDialogsFlag            0x00000008
  95. #define kPPPAllAlertsDisabledFlag            0x00000000
  96. #define kPPPAllAlertsEnabledFlag            0x0f
  97.  
  98. #define kPPPAsyncMapCharsNone                0
  99. #define kPPPAsyncMapCharsXOnXOff            0x000a0000
  100. #define kPPPAsyncMapCharsAll                0xffffffff
  101.  
  102.  
  103. #ifndef REZ
  104.  
  105.     //
  106.     // Option names
  107.     //
  108.     
  109.     enum 
  110.     {
  111.         IPCP_OPT_GETREMOTEPROTOADDR        = (OTXTIName)0x7000,
  112.         IPCP_OPT_GETLOCALPROTOADDR        = (OTXTIName)0x7001,
  113.         IPCP_OPT_TCPHDRCOMPRESSION        = (OTXTIName)0x7002,
  114.         LCP_OPT_PPPCOMPRESSION            = (OTXTIName)0x7003,
  115.         LCP_OPT_MRU                        = (OTXTIName)0x7004,
  116.         LCP_OPT_RCACCMAP                = (OTXTIName)0x7005,
  117.         LCP_OPT_TXACCMAP                = (OTXTIName)0x7006,
  118.         SEC_OPT_OUTAUTHENTICATION        = (OTXTIName)0x7007,
  119.         SEC_OPT_ID                        = (OTXTIName)0x7008,
  120.         SEC_OPT_PASSWORD                = (OTXTIName)0x7009,
  121.         CC_OPT_REMINDERTIMER            = (OTXTIName)0x7010,
  122.         CC_OPT_IPIDLETIMER                = (OTXTIName)0x7011,
  123.         CC_OPT_DTEADDRESSTYPE            = (OTXTIName)0x7012,
  124.         CC_OPT_DTEADDRESS                = (OTXTIName)0x7013,
  125.         CC_OPT_CALLINFO                    = (OTXTIName)0x7014,
  126.         CC_OPT_GETMISCINFO                = (OTXTIName)0x7015,
  127.         PPP_OPT_GETCURRENTSTATE            = (OTXTIName)0x7016
  128.     };
  129.     
  130.     
  131.     //
  132.     // Endpoint events
  133.     //
  134.     
  135.     enum
  136.     {
  137.         kPPPEvent                        = (OTEventCode) kPROTOCOLEVENT | 0xf0000,
  138.         kPPPConnectCompleteEvent        = (OTEventCode) kPPPEvent+1,
  139.         kPPPSetScriptCompleteEvent        = (OTEventCode) kPPPEvent+2,
  140.         kPPPDisconnectCompleteEvent        = (OTEventCode) kPPPEvent+3,
  141.         kPPPDisconnectEvent                = (OTEventCode) kPPPEvent+4,
  142.         kPPPIPCPUpEvent                    = (OTEventCode) kPPPEvent+5,
  143.         kPPPIPCPDownEvent                = (OTEventCode) kPPPEvent+6,
  144.         kPPPLCPUpEvent                    = (OTEventCode) kPPPEvent+7,
  145.         kPPPLCPDownEvent                = (OTEventCode) kPPPEvent+8,
  146.         kPPPLowerLayerUpEvent            = (OTEventCode) kPPPEvent+9,
  147.         kPPPLowerLayerDownEvent            = (OTEventCode) kPPPEvent+10,
  148.         kPPPAuthenticationStartedEvent    = (OTEventCode) kPPPEvent+11,
  149.         kPPPAuthenticationFinishedEvent    = (OTEventCode) kPPPEvent+12,
  150.         kPPPDCEInitStartedEvent            = (OTEventCode) kPPPEvent+13,
  151.         kPPPDCEInitFinishedEvent        = (OTEventCode) kPPPEvent+14,
  152.         kPPPDCECallStartedEvent            = (OTEventCode) kPPPEvent+15,
  153.         kPPPDCECallFinishedEvent        = (OTEventCode) kPPPEvent+16
  154.     };
  155.     
  156.     
  157.     /*******************************************************************************
  158.     *    IOCTL constants for I_OTConnect, I_OTDisconnect and I_OTScript
  159.     *    are defined in OpenTransport.h
  160.     ********************************************************************************/
  161.     
  162.  
  163.     /*******************************************************************************
  164.     *    PPPMRULimits
  165.     ********************************************************************************/
  166.     
  167.     typedef struct
  168.     {
  169.         UInt32    mruSize;            // proposed or actual
  170.         UInt32    upperMRULimit;
  171.         UInt32    lowerMRULimit;
  172.     }
  173.     PPPMRULimits;
  174.     
  175.     
  176.     /*******************************************************************************
  177.     *    CCMiscInfo
  178.     ********************************************************************************/
  179.     
  180.     typedef struct
  181.     {
  182.         UInt32    connectionStatus;
  183.         UInt32    connectionTimeElapsed;
  184.         UInt32    connectionTimeRemaining;
  185.         UInt32    bytesTransmitted;
  186.         UInt32    bytesReceived;
  187.         UInt32    reserved;
  188.     }
  189.     CCMiscInfo;
  190.  
  191.  
  192. #endif    /* #ifndef REZ */
  193.  
  194.  
  195. /*******************************************************************************
  196. *    Gestalt Selectors for Open Transport-based Remote Access/PPP
  197. *
  198. *    Note: possible values for the version "stage" byte are:
  199. *    development = 0x20, alpha = 0x40, beta = 0x60, final & release = 0x80
  200. ********************************************************************************/
  201.  
  202. //
  203. // Response bit positions for gestaltOpenTptRemoteAccess.
  204. //
  205.  
  206. #define kRAProductClientOnly                    2
  207. #define kRAProductOnePortServer                    3
  208. #define kRAProductManyPortServer                4
  209.  
  210. #define gestaltOpenTptRemoteAccessPresent        0
  211. #define gestaltOpenTptRemoteAccessLoaded        1
  212. #define gestaltOpenTptRemoteAccessClientOnly    kRAProductClientOnly
  213. #define gestaltOpenTptRemoteAccessPServer        kRAProductOnePortServer
  214. #define gestaltOpenTptRemoteAccessMPServer        kRAProductManyPortServer
  215. #define gestaltOpenTptPPPPresent                5
  216. #define gestaltOpenTptARAPPresent                6
  217.  
  218. #define gestaltOpenTptRemoteAccess                'otra'
  219. #define gestaltOpenTptRemoteAccessVersion        'otrv'
  220.  
  221.  
  222. #endif    /* __OPENTPTPPP__ */
  223.